In many computing contexts, interaction with three-dimensional (3D) models and other 3D data is prominently featured. Video games, for example, feature 3D models rendered by a computing device for output to a display, and are configured for manipulation, control, or other types of user interaction. Other contexts feature 3D models that represent real, physical objects. For example, a 3D model may serve as a reference with which a corresponding physical object is manufactured, or may be used to simulate how a corresponding physical object behaves in real world applications.
A variety of approaches to generating 3D models exist. In many approaches, explicit user input from an artist, modeler, or the like is used to generate 3D models, and may involve the deliberate specification of various geometric parameters such as vertex positions. To this end, various software packages for facilitating the generation of 3D models exist, including computer-aided design and 3D modeling software. Other approaches rely less on explicit user input to generate 3D models, and leverage computational acceleration to automate 3D model generation from pertinent data. For example, a depth camera may be used to three-dimensionally image a physical scene and provide data with which the physical scene may be reconstructed on a computing device—e.g., as in photogrammetry.
The approaches to 3D model generation described above pose various drawbacks. User-driven approaches rely significantly on explicit user input to generate 3D models, whereas significant cost and operational complexity may be associated with the use of depth cameras. Further, many approaches to 3D model generation merely produce pseudo-3D output—for example, output that, while potentially exhibiting parallax, does not include 3D models that can be freely rotated and viewed in 360°. Still further, many approaches produce output that is static and/or lacks context regarding a reconstructed scene and the objects therein.
Accordingly, there is an established need for a system operable to generate fully 3D models and other 3D data with minimal user input that can be collected with conventional, low-cost imaging technology.